function [Frup]=d_raskrv(teta,phi,Angls, axr, byr, lambda, M)
  % Конический рупор для волны H10
  % axr,byr - длина и ширина волновода
  % M - кол-во точек при разбиении фронта раскрыва
sin_phi=sin(phi); cos_phi=cos(phi);
  % Подготовим множители, учитывающие характер поля в волноводе
  % для типа H10
for ji=-M:M curvex(ji+M+1)=cos(pi*ji/2/M); end;
  % Теперь подготовим фазовую добавку для учета кривизны фронта в раскрыве,
  % полагая оптимальные по КНД значения Lh, Le (Lh,Le - раст. до края
  % раскрыва
Lh=axr^2/(3*lambda); Le=byr^2/(2*lambda);
k=2*pi/lambda;
dx=axr/(2*M+1); dy=byr/(2*M+1);

for ii=-M:M 
x=ii*axr/(2*M); psix=x^2/(2 * Lh);
	for jj=-M:M 
y=jj*axr/(2*M); psiy=y^2/(2 * Le);
deltapsi(ii+M+1,jj+M+1)=(psix + psiy) * k; %Фазовое отклонение от плоскости
	end; 
end;

for ji=1:Angls
sintetaji=sin(teta(ji));  
  % Учтем множитель для элемента Гюйгенса:
Guig=(cos(teta(ji))+1) .* cos_phi;
strok=0;   
   for nx=-M:M
stolb=0;
	for ny=-M:M
addition=cos(k*nx*dx .* sintetaji.*cos_phi+deltapsi(ii+M+1,jj+M+1)+k*ny*dy .*sintetaji.*sin_phi); 
stolb=stolb+addition;
	end;
strok=strok+stolb.*curvex(nx+M+1);
   end;
Frup(ji)=strok.*Guig;
end;
end
